const Koa = require('koa');
const koaStatic = require('koa-static');
const cors = require('koa-cors');
const compress = require('koa-compress');
const cacheControl = require('koa-cache-control');
const onerror = require('koa-onerror');
const logger = require('koa-logger');
const helmet = require('koa-helmet');
const http = require('http');
// const fnSocket = require('./app/socket')
const fnSocket = require('./app/pp-socket')
const socket = require('socket.io')
// 导入 rouer.js 文件
// import router from './app/router'

const app = new Koa()



// 将捕获的错误消息生成友好的错误页面（仅限开发环境）
onerror(app)


app
  // 在命令行打印日志
  .use(logger())
  // 缓存控制
  .use(cacheControl({ maxAge: 60000 }))
  // 开启 gzip 压缩
  .use(compress())
  // 跨域（允许在 http 请求头中携带 cookies）
  .use(cors({ credentials: true }))
  // 安全
  .use(helmet())
  // 静态资源服务器
  .use(koaStatic(__dirname + '/app/public'))

const server = http.createServer(app.callback())
fnSocket(socket(server))
// 启动一个 http 服务器，并监听 3000 端口
server.listen(557)
// 导出 koa 实例（用于测试）

